REPRESENTATION, ANALYSIS, AND REFACTORING TECHNIQUES TO SUPPORT CODE CLONE MAINTENANCE by ROBERT AMBROSIUS TAIRAS BARRETT BRYANT, COMMITTEE CHAIR
نویسندگان
چکیده
The existence of code cloning, which represents identical or near identical sections of code, has been documented to occur frequently in software systems. The main purpose of cloning is the reuse of a code fragment that performs some functionality by copying and pasting it to a new location in the source code. Code clones embody a unique form of coupling, because their similarity inadvertently connects their representative sections of code together. This inherent duplication requires attention to be given to all related duplicates, even if just one of these duplicates is being evaluated or changed. Failure to consider all related clones when maintaining cloned code can result in errors that are difficult to identify initially. The introduction of clone detection tools in recent years has provided an automated means to discover clones in code. However, in order to maintain these clones, programmers must first understand the properties of the clones reported by such tools, which in many cases are comprised of clone groups (i.e., clones representing the same duplication) scattered throughout the collection of source files that in turn are contained in reports consisting of a large amount of data. The elimination of the duplication associated with these clones by modularizing the code through refactoring activities reduces the amount of code that needs to be maintained in the future. However, an observed disconnect can still be seen between the detection and analysis of the clones and the subsequent task of eliminating the duplication.
منابع مشابه
Refactoring Support Environment Based on Code Clone Analysis
Recently, code clone has been regarded as one of factors that make software maintenance more difficult. A code clone is a code fragment in a source code that is identical or similar to another. For example, if we modify a code fragment which has code clones, it is necessary to consider whether we have to modify each of its code clones. It is generally said that code clone is one of bad-smells t...
متن کاملCode Clone Analysis Environment for Software Maintenance
Recently, code clone has been regarded as one of factors that make software maintenance more difficult. A code clone is a code fragment in a source code that is identical or similar to another. For example, if we modify a code fragment which has code clones, it is necessary to consider whether we have to modify each of its code clones. There are two ways of maintenance support for code clones. ...
متن کاملCode Clone Analysis Method for Practical Refactoring Support
Recently, code clone has been regarded as one of factors that make software maintenance more difficult. A code clone is a code fragment in a source code that is identical or similar to another. For example, if we modify a code fragment which has code clones, it is necessary to consider whether we have to modify each of its code clones. There are two ways of maintenance support for code clones. ...
متن کاملARIES: Refactoring support environment based on code clone analysis
Code clone has been regarded as one of factors that make software maintenance more difficult. A code clone is a code fragment in a source code that is identical or similar to another. For example, if we modify a code fragment which has code clones, it is necessary to consider whether we have to modify each of its code clones. Hence, removal of code clones makes maintainability and comprehensibi...
متن کاملImproving the Unification of Software Clones Using Tree and Graph Matching Algorithms
Improving the Unification of Software Clones using Tree and Graph Matching Algorithms Giri Panamoottil Krishnan Code duplication is common in all kind of software systems and is one of the most troublesome hurdles in software maintenance and evolution activities. Even though these code clones are created for the reuse of some functionality, they usually go through several modifications after th...
متن کامل